﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CapaLogica.CL.Usuario;

namespace CapaLogica.CL.ComentarioAporte
{
    public class GestorComentarioAporte
    {
        public static int crearComentario(String pcomentario, int pidAporte)
        {
            try
            {
                int idUsuario = Session.Id;
                Cl_ComentarioAporte comentario = new Cl_ComentarioAporte(pcomentario, idUsuario);
                ComentarioAportePersistente persistenteComentario = new ComentarioAportePersistente();

                return persistenteComentario.insertarComentario(comentario, pidAporte);
                

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }


        public static Boolean eliminarComemtarioAporte(int pIdComentario)
        {
            try
            {
                ComentarioAportePersistente persistente = new ComentarioAportePersistente();

                persistente.eliminarComentarioAporte(pIdComentario, Session.Id);

                return true;
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }



        public static List<Dictionary<String, String>> listarComentariosAporte(int pIdAporte)
        {
            try
            {
                List<EsComentarioAporte> comentarios = new ComentarioAportePersistente().listarComentariosAporte(pIdAporte);

                List<Dictionary<String, String>> datosComentarios = new List<Dictionary<string, string>>();

                Dictionary<String, String> comentario = new Dictionary<string, string>();

                foreach (EsComentarioAporte temp in comentarios)
                {
                    comentario = new Dictionary<string, string>();

                    comentario.Add("id", temp.IdComentario);
                    comentario.Add("comentario", temp.Comentario);
                    comentario.Add("fecha", temp.Fecha);
                    comentario.Add("modificado", temp.Modificado + "");
                    comentario.Add("fechamodificacion", temp.FechaModificacion);
                    comentario.Add("idUsuario", temp.IdUsuario);
                    comentario.Add("usuario", temp.NombreUsuario);
                    comentario.Add("rol", temp.NombreRol);

                    datosComentarios.Add(comentario);
                }

                return datosComentarios;
            }
            catch (Exception ex)
            {

                throw ex;
            }

        }


        
    }
}
